﻿Public Class TelephoneNumber
	Inherits vCardItem

	''' <value>True</value>
	Public Property IsVoice As Boolean = True

	''' <value>False</value>
	Public Property IsPreferred As Boolean = False

	''' <value>False</value>
	Public Property IsWork As Boolean = False

	''' <value>False</value>
	Public Property IsHome As Boolean = False

	''' <value>False</value>
	Public Property IsFax As Boolean = False

	''' <value>False</value>
	Public Property IsMessagingService As Boolean = False

	''' <value>False</value>
	Public Property IsCellular As Boolean = False

	''' <value>False</value>
	Public Property IsPager As Boolean = False

	''' <value>False</value>
	Public Property IsBBS As Boolean = False

	''' <value>False</value>
	Public Property IsModem As Boolean = False

	''' <value>False</value>
	Public Property IsCarPhone As Boolean = False

	''' <value>False</value>
	Public Property IsISDN As Boolean = False

	''' <value>False</value>
	Public Property IsVideoPhone As Boolean = False

	Public Property TelephoneNumber As String

	Protected Overrides Property vProperty As String
		Get
			Return "TEL"
		End Get
		Set(value As String)
		End Set
	End Property

	Protected Overrides Property vValues As System.Collections.Generic.List(Of String)
		Get
			Dim myValues As New List(Of String)

			If IsPreferred Then myValues.Add("PREF")
			If IsWork Then myValues.Add("WORK")
			If IsHome Then myValues.Add("HOME")
			If IsVoice Then myValues.Add("VOICE")
			If IsFax Then myValues.Add("FAX")
			If IsMessagingService Then myValues.Add("MSG")
			If IsCellular Then myValues.Add("CELL")
			If IsPager Then myValues.Add("PAGER")
			If IsBBS Then myValues.Add("BBS")
			If IsModem Then myValues.Add("MODEM")
			If IsCarPhone Then myValues.Add("CAR")
			If IsISDN Then myValues.Add("ISDN")
			If IsVideoPhone Then myValues.Add("VIDEO")

			Return myValues
		End Get
		Set(value As System.Collections.Generic.List(Of String))
		End Set
	End Property

	Protected Overrides Property vParameters As System.Collections.Generic.List(Of String)
		Get
			Return New String() {TelephoneNumber}.ToList
		End Get
		Set(value As System.Collections.Generic.List(Of String))
		End Set
	End Property

	Public Sub New(TelephoneNumber As String)
		Me.TelephoneNumber = TelephoneNumber
	End Sub
End Class
